home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-09-26 | 2.9 KB | 133 lines | [TEXT/MPS ] |
-
- {%% Generation option: -l}
-
- PROCEDURE DoOSEvent(event: EventRecord; VAR cursorRgn: RgnHandle);
- {Handling operating-system events}
-
- VAR
- window: windowPtr;
- activate: boolean;
-
- BEGIN
- window:=FrontWindow;
- CASE BSR(event.message,24) OF
- mouseMovedMessage:
-
- {%% >> Adjust cursor <<};
-
- suspendResumeMessage:
- BEGIN
- activate:=(BAnd(event.message,resumeFlag)<>0);
-
- {%% >> activate appl. window <<};
-
- END;
- OTHERWISE;
- END;
- END; {DoOSEvent}
-
- PROCEDURE DoMouseDown (event: EventRecord; var quit : Boolean);
- VAR
- part : integer;
- aWindow : WindowPtr;
-
- BEGIN
- part:=FindWindow(event.where,aWindow);
- CASE part OF
- {%%*}
- InSysWindow: SystemClick(event,aWindow);
-
- inDrag: {%% >> <<};
- inGoAway: {%% >> <<};
- inGrow: {%% >> <<};
-
- inZoomIn,
- inZoomOut: {%% >> handle mouse down in zoombox region <<};
-
- inContent: {%% >> <<};
- END; {case part of}
- END; {DoMouseDown}
-
- PROCEDURE MainLoop;
-
- CONST
- kReturnKey = $0D;
- kEnterKey = $03;
- kEscKey = 27;
-
-
- VAR
- key: Char;
- quit,gotEvent,activate : Boolean;
- event: EventRecord;
- cursorRgn: RgnHandle;
-
- BEGIN
- cursorRgn:=NewRgn;
- quit:=false;
- REPEAT
- gotEvent:=WaitNextEvent(everyEvent,event,15,cursorRgn);
- IF gotEvent
- THEN
- CASE event.what OF
- osEvt: DoOSEvent(event,cursorRgn);
- activateEvt:
- BEGIN
- activate:=BAnd(event.modifiers,activeFlag)<>0;
- {%% >> <<}
- END;
-
- updateEvt: {%% >> <<};
- mouseUp: {%% >> <<};
-
- mouseDown: DoMouseDown (event,quit);
-
- keyDown,autoKey:
- BEGIN
- key:=chr(BAnd(event.message,charCodeMask));
- IF (BAnd(event.modifiers,cmdKey)<>0)
- THEN {command key down}
- {%% >> <<}
- ELSE IF key IN [chr(kReturnKey),chr(kEnterKey)]
- THEN {return or enter keys were pressed}
- {%% >> <<}
- ELSE IF (key=chr(kEscKey))
- THEN {esc key was pressed}
- BEGIN
- {%% >> <<}
- END
- ELSE
- {%% >> <<};
- END;
- diskEvt: {%% >> <<};
- nullEvent: {%% >> <<};
- END; {case}
- UNTIL quit;
- DisposeRgn(cursorRgn);
- END; {MainLoop}
-
- PROCEDURE Init;
- BEGIN
- MaxApplZone;
- MoreMasters;
- MoreMasters;
- MoreMasters;
- MoreMasters;
- MoreMasters;
- MoreMasters;
-
- InitGraf(@thePort);
- {InitFonts;} {%%?}
- {%%(}
- {TEInit;} {%%?}
- InitCursor; {%%?}
-
- {%% >> add another initialization here <<}
- END; {Init}
-
- BEGIN {program body}
- Init;
- MainLoop;
- END.
-
-